<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 交换两个变量的值,可以使用var，但是不能使用let
        // let a = 10;
        // let b = 10;
        // let [a, b]

        // var a = 10;
        // var b = 20;
        // var [a, b] = [b, a];
        // console.log(a, b); // 20 10

        // 数组解构
        let arr = [67, 6, 89, 90];
        let [a = '12', b, c, d, e = '默认值'] = arr;
        console.log(a, b, c, d, e);
        // 函数传参
        function fun([aa, bb, cc = '123默认值']) {
            console.log(aa, bb, cc);
        }
        fun(arr)


        // 对象解构
        // let obj = {
        //     name: '张三',
        //     age: 18
        // }
        // let {name: myname, age: myage} = obj;
        // let {name: name, age: age} = obj
        // // 直接 把对象的键名和键值设置成一样，简写一个 ；
        // let {name, age} = obj
        // console.log(myname, myage);
        // console.log(name, age);

        //ES6对象里 如果键名和键值一样 那么可以省略一个 ；
        // let name = '张三';
        // let age = 23;
        // // let obj = {
        // //     name: name,
        // //     age: age
        // // }

        // let obj = {
        //     name,
        //     age
        // }
        // console.log(obj);

        // 对象传参 
        let obj = {
            name: '王俊凯',
            age: 18
        }
        function fun({name, age, height = '默认值'}) {
            console.log(name, age, height);
        }
        fun(obj)
    </script>
        
</body>
</html>